Ryan McCullough's profile

Algorithmic Design - Computational Landscapes

What is it?
 
I've been playing around with creating a dynamo script to make 3d geometry out of 2d images. The top image is from a model containing around a million individual hexagonal columns created from the pixels of an abstract painting by artist Nancy Wood. The columns are a type of geologic form I first saw at the Giant's Causeway in N. Ireland, it seemed appropriate for the landscape like quality that these models have at high densities.
 
The below image shows an example of a single 50x50 chunk inside of Autodesk Revit Architecture. Every single column is a separate and unique entity in Revit, and is given a unique "mark" parameter allowing them to be tagged. Revit can then quickly schedule them with diameters and heights allowing simple fabrication and construction.
How does it work?
 
It works by sampling a specified number of pixels in an image file (in the above case, all of them) and then creating a grid of points of the same dimensions, this grid will be used as the center point for our polygons, as shown below.
The grid spacing is then shifted in height and width to pack polygons face to face with the function { 2(cos θ * r) } where θ is the interior angle of a triangle within the polygon and r is the radius of a circle circumscribing it. In this case I used 4" hexagons.
The grid is then duplicated, but this time given a Z dimension that is taken from the sampled brightness of each pixel (or corresponding point on the image), so brighter portions will appear taller. The lists are grouped so that top and bottom corresponding points are organized together, and finally an adaptive component of a columnar hexagon is plugged into each pair of points in Revit. An override color node can be used to give each component the sampled color value as well.
Word of warning: Revit limitations make dynamo run this EXTREMELY slowly and with significant memory usage on large images... be patient. For the large image used above I did it in 100x100 chunks and mated them together between runs.
Algorithmic Design - Computational Landscapes
Published:

Algorithmic Design - Computational Landscapes

Using visual programming tools I created a system for creating fully constructable, three dimensional sculpture from two dimensional imagery.

Published: